/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package mx.edu.itschapala.sistemas.septimo.control;

import java.util.ArrayList;
import java.util.List;
import mx.edu.itschapala.sistemas.septimo.modelo.Cliente;
import mx.edu.itschapala.sistemas.septimo.modelo.Producto;
import mx.edu.itschapala.sistemas.septimo.vista.enumeracion.TipoBusqueda;

/**
 *
 * @author Estudiante
 */
public class ClienteLnListar implements ClienteLnLocal{
    
    private List<Cliente> lista = new ArrayList<Cliente>();

    @Override
    public void registrar(Cliente cliente) {
        lista.add(cliente);
    }

    @Override
    public void modificar(Cliente cliente) {
        Cliente tmp=buscarPorCodigo(cliente.getId());
        if(tmp!=null){
			lista.remove(tmp);
			lista.add(cliente);
		}
    }

    @Override
    public void eliminar(Cliente cliente) {
        Cliente tmp=buscarPorCodigo(cliente.getId());
		if(tmp!=null){
			lista.remove(tmp);
		}
    }

    @Override
    public Cliente buscarPorCodigo(int codigo) {
        Cliente tmp=null;
		for(Cliente c : lista){
			if(c.getId()==codigo){
				tmp=c;
			}
		}
		return tmp;

	}
	public List<Cliente> getTodos(){
		return lista;
    }
        public List<Cliente> getPorNombre(String Nombre, TipoBusqueda Criterio) {
        List<Cliente> tmp=new ArrayList<Cliente>();
        switch(Criterio){
            case INICIA:
                for(Cliente c:lista){
                    if(c.getNombre().startsWith(Nombre)){
                        tmp.add(c);
                    }
                }
            break;
            case CONTIENE:
                for(Cliente p:lista){
                    if(p.getNombre().startsWith(Nombre)){
                        tmp.add(p);
                    }
                    
                }
            break;
        } 
        return tmp;
    }

    
    
    
}
